import { effectScope, ref } from "vue"
export let activePinia=null
//在项目中main.js中引入即可
export function createPinia() {
  const scope = effectScope() //不在单文件组件setup函数中使用的时候需要用scope.stop()停止响应式效果
  const state = scope.run(() => ref({})) //通过id记录每个store中state的数据
  const _p=[]
  const pinna = {
    use(plugin) {
      _p.push(plugin)
      return this
    },
    _p,
    _s: new Map(),//通过id记录每个store的状态(包括state中的数据,getters中的数据,actions中的数据)->{userId->store,produceId->store}
    _e: scope,
    install(app) {
      activePinia = pinna //在任何地方都能使用pinia
      //app.provide("_piniaSymbol_", pinna)
    },
    state
  }
  return pinna
}
